﻿/*************************************************************************************

* 文件名称：                                                                                                               *

* 作       者：                                                                                                               *

* 版       本：                                                                                                               *

* 日       期：                                                                                                               *

* 功能描述：                                                                                                               *

* 输       入：                                                                                                               *

* 输       出：                                                                                                               *

* 函数列表：                                                                                                               *

* 历       史：                                                                                                               *

*                                  Copyright (c) Lab. AllRights Reserved                                    *

*************************************************************************************/

using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;

namespace HelpLibrary.SQlite
{
    public class MySQliteContext : DbContext

    {
        public MySQliteContext() : base("SqliteTest")
        {
        }

        public void setItemByTime(string ItemValue)
        {
        }

        public DbSet<Gr> gr { set; get; }
    }

    /// <summary>
    /// 大坑,不限定表名的话,会强制表名为类名加s
    /// 如果没有指定数据库中的表文件名，EF生成的SQL表都是用复数表示。
    /// 就像我的程序中实体名是Person,
    /// 但EF去查找的表名会是People。所以在数据库中定义的表名是People。
    /// </summary>
    [Table("GR")]
    public class Gr
    {
        [DisplayName("ID")]
        public int id { get; set; }

        [DisplayName("0点")]
        public float a { get; set; }

        [DisplayName("8点")]
        public float b { get; set; }

        [DisplayName("12点")]
        public float c { get; set; }

        [DisplayName("16点")]
        public float d { get; set; }

        [DisplayName("18点")]
        public float e { get; set; }

        [DisplayName("22点")]
        public float f { get; set; }

        [DisplayName("时间")]
        public DateTime CreateTime { get; set; }

        [NotMapped]
        [DisplayName("a-b")]
        public float YeBanGr => b - 12;

        [NotMapped]
        [DisplayName("班次1")]
        public WorkShift YeBan { get; set; }

        [NotMapped]
        [DisplayName("b-c")]
        public float BaiBanGr => d - c;

        [NotMapped]
        [DisplayName("班次2")]
        public WorkShift Baiban { get; set; }

        [DisplayName("d-c")]
        [NotMapped]
        public float ZhongBanGr => f - e;

        [NotMapped]
        [DisplayName("班次3")]
        public WorkShift Zhongban { get; set; }
    }
}